<?php

namespace app\api\exception;
use think\exception\Handle;
use think\Response;
use Throwable;

class Http extends Handle
{
    public function render($request, Throwable $e): Response
    {
        if ($e instanceof \think\Exception) {
            return show($e->getCode(), $e->getMessage());
        }

        if ($e instanceof \think\exception\HttpResponseException) {
            return parent::render($request, $e);
        }

        if (method_exists($e, "getStatusCode")) {
            $statusCode = $e->getStatusCode();
        } else {
            $statusCode = 200;
        }
        return show(-1, $e->getMessage(),[],$statusCode);
    }
}